var calUtil = { 
//当前日历显示的年份   
showYear:2015,   
//当前日历显示的月份   
showMonth:1,   
//当前日历显示的天数   
showDays:1,   eventName:"load",   
//初始化日历   
init:function(signList){     calUtil.setMonthAndDay();     calUtil.draw(signList);     calUtil.bindEnvent();   },   
draw:function(signList){     
//绑定日历     
var str = calUtil.drawCal(calUtil.showYear,calUtil.showMonth,signList);     $("#calendar").html(str);     
//绑定日历表头     
var calendarName=calUtil.showYear+"年"+calUtil.showMonth+"月";     $(".calendar_month_span").html(calendarName);     },   
//绑定事件   
bindEnvent:function(){     
//绑定上个月事件    
 $(".calendar_month_prev").click(function(){      
 //ajax获取日历json数据       
 var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];       calUtil.eventName="prev";       calUtil.init(signList);     });     
 //绑定下个月事件     
 $(".calendar_month_next").click(function(){       
 //ajax获取日历json数据       
 var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];       calUtil.eventName="next";       calUtil.init(signList);     });   },   
 //获取当前选择的年月   
 setMonthAndDay:function(){switch(calUtil.eventName) {
 case "load": var current = new Date(); calUtil.showYear=current.getFullYear(); calUtil.showMonth=current.getMonth() + 1;break;       
 case "prev": var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];calUtil.showMonth=parseInt(nowMonth)-1;if(calUtil.showMonth==0){calUtil.showMonth=12;calUtil.showYear-=1;}break;       
 case "next": var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];calUtil.showMonth=parseInt(nowMonth)+1;if(calUtil.showMonth==13){calUtil.showMonth=1;calUtil.showYear+=1;}break;}},   
getDaysInmonth : function(iMonth, iYear){    var dPrevDate = new Date(iYear, iMonth, 0); return dPrevDate.getDate();   },   
bulidCal : function(iYear, iMonth) { var aMonth = new Array(); aMonth[0] = new Array(7); aMonth[1] = new Array(7); aMonth[2] = new Array(7);    aMonth[3] = new Array(7);    aMonth[4] = new Array(7);    aMonth[5] = new Array(7);    aMonth[6] = new Array(7);   
var dCalDate = new Date(iYear, iMonth - 1, 1);    
var iDayOfFirst = dCalDate.getDay();    
 	var iDaysInMonth = calUtil.getDaysInmonth(iMonth, iYear);    
 	var iVarDate = 1;    
 	var d, w; aMonth[0][0] = "日"; aMonth[0][1] = "一"; aMonth[0][2] = "二";aMonth[0][3] = "三";aMonth[0][4] = "四";aMonth[0][5] = "五";aMonth[0][6] = "六";
 	for (d = iDayOfFirst; d < 7; d++) {aMonth[1][d] = iVarDate;     iVarDate++;    }    for (w = 2; w < 7; w++) {     for (d = 0; d < 7; d++) {      if (iVarDate <= iDaysInMonth) {aMonth[w][d] = iVarDate;iVarDate++;}}}return aMonth;   },   
 		ifHasSigned : function(signList,day){    var signed = false;    $.each(signList,function(index,item){     if(item.signDay == day) {      signed = true;      return false;     }    });    return signed ;   },   
 	drawCal : function(iYear, iMonth ,signList) {    var myMonth = calUtil.bulidCal(iYear, iMonth);    var htmls = new Array();    
 		htmls.push("<div class='sign_main' id='sign_layer'>");      
 		htmls.push("<div class='sign' id='sign_cal'>");    
 		htmls.push("<table>");    
 		htmls.push("<tr>");    
 		htmls.push("<th>" + myMonth[0][0] + "</th>");    
 		htmls.push("<th>" + myMonth[0][1] + "</th>");    
 		htmls.push("<th>" + myMonth[0][2] + "</th>");    
 		htmls.push("<th>" + myMonth[0][3] + "</th>");    
 		htmls.push("<th>" + myMonth[0][4] + "</th>");    
 		htmls.push("<th>" + myMonth[0][5] + "</th>");    
 		htmls.push("<th>" + myMonth[0][6] + "</th>");    
 		htmls.push("</tr>");    
 		var d, w;    for (w = 1; w < 7; w++) {     
 		htmls.push("<tr>");     for (d = 0; d < 7; d++) {    
 		var mydate = new Date();  //初始化时间
 	    var hbh = mydate.getDate();//获取当天时间
 		var ifHasSigned = calUtil.ifHasSigned(signList,myMonth[w][d]); console.log(ifHasSigned);if(ifHasSigned){       
 		htmls.push("<td class='on'>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</td>");      } 
 		else {      
 		    if(myMonth[w][d]==hbh){htmls.push("<td id='check'>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</td>");}//对当天做标记
 		    else{ 
 			htmls.push("<td>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</td>"); }     }     }     
 			htmls.push("</tr>");    }    htmls.push("</table>");    htmls.push("</div>");    
 			htmls.push("</div>");    return htmls.join('');   } }; 
